package com.stefanini.pe.bbva.bp.in.bo.impl;

import java.util.HashMap;
import java.util.Iterator;
import java.util.List;

import javax.annotation.Resource;
import javax.faces.model.SelectItem;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.stefanini.pe.bbva.bp.in.bo.iface.ParametrosBOIface;
import com.stefanini.pe.bbva.bp.in.dao.iface.ParametrosDAOIface;
import com.stefanini.pe.bbva.bp.in.to.CategoriaProducto;
import com.stefanini.pe.bbva.bp.in.to.UsuarioAsesor;
import com.stefanini.pe.bbva.bp.in.utils.Util;


@Service("parametrosBO")
public class ParametrosBOImpl implements ParametrosBOIface {
	@Autowired
	public ParametrosDAOIface parametrosDAOIface;

	public List listaCriteriosBusquedaCmb() throws Exception{
		return parametrosDAOIface.listaCriteriosBusquedaCmb();
	}
	
	public List listaCriteriosBusquedaNoCliente() throws Exception{
		return parametrosDAOIface.listaCriteriosBusquedaNoCliente();
	}
	
	public List listarAlertasEstado() throws Exception{
		return parametrosDAOIface.listarAlertasEstado();
	}

	public List listaTiposClienteCmb() throws Exception{
		return parametrosDAOIface.listaTiposClienteCmb();
	}

	public List listaTiposCambio() throws Exception{
		return parametrosDAOIface.listaTiposCambio();
	}

	public List listaMultiTabla(String idItem, String idTabla) throws Exception{
		return parametrosDAOIface.listaMultiTabla(idItem, idTabla);
	}
	
	public List<SelectItem> listaMeses() throws Exception{
		return parametrosDAOIface.listaMeses();
	}
		
	public List listaAnios() throws Exception{
		return parametrosDAOIface.listaAnios();
	}
	
	public List<SelectItem> listaRazonContacto() throws Exception{
		return parametrosDAOIface.listaRazonContacto();
	}
	
	public List<SelectItem> listaMedioContacto() throws Exception{
		return parametrosDAOIface.listaMedioContacto();
	}
	
	public List<SelectItem> listaLugarContacto() throws Exception{
		return parametrosDAOIface.listaLugarContacto();
	}
	
	public List<CategoriaProducto> listarCategoriasProducto() throws Exception{
		return parametrosDAOIface.listarCategoriasProducto();
	}
	
	public List<CategoriaProducto> listarCategoriasProducto_PorID(int codProducto) throws Exception{
		return parametrosDAOIface.listarCategoriasProducto_PorID(codProducto);
	}
	
	public List listarTiposDocumento() throws Exception{
		return parametrosDAOIface.listarTiposDocumento();
	}
	
	public List listaEjecutivosAAsignar() throws Exception{
		return parametrosDAOIface.listaEjecutivosAAsignar();
	}

	public List listaClientesDeEjecutivo(UsuarioAsesor usuarioAsesor) throws Exception{
		List lista = parametrosDAOIface.listaClientesDeEjecutivo(usuarioAsesor);
		for (Iterator iter = lista.iterator(); iter.hasNext();) {
			HashMap element = (HashMap) iter.next();
			element.put("fecharegistro", Util.formatoFecha(element.get("fecharegistro").toString()));
		}
		return lista;
	}

	public List listaTipoMeta() throws Exception{
		return parametrosDAOIface.listaTipoMeta();
	}

	public List listaSecciones() throws Exception{
		return parametrosDAOIface.listaSecciones();
	}

	public List listaTipoRespuestas(String idSeccion) throws Exception{
		return parametrosDAOIface.listaTipoRespuestas(idSeccion);
	}
	
	public List listaEscenarios() throws Exception{
		return parametrosDAOIface.listaEscenarios();
	}
	public List listaTiposUsuario() throws Exception{
		return parametrosDAOIface.listaTiposUsuario();
	}
	
	public List listaAniosMetas() throws Exception{
		return parametrosDAOIface.listaAniosMetas();
	}
	
	public List listaEjecutivosAAsignar(String idUsuarioAsesor) throws Exception{
		return parametrosDAOIface.listaEjecutivosAAsignar(idUsuarioAsesor);
	}
	
	public List listaTiposMetas() throws Exception{
		return parametrosDAOIface.listaTiposMetas();
	}
	
	public List listaEjecutivosAReasignar(String idUsuarioAsesor) throws Exception{
		return parametrosDAOIface.listaEjecutivosAReasignar(idUsuarioAsesor);
	}
	
	public List listaEjecutivos(String idUsuarioAsesor) throws Exception{
		return parametrosDAOIface.listaEjecutivos(idUsuarioAsesor);
	}
	
	public List listaTiposDeAsignacion() throws Exception{
		return parametrosDAOIface.listaTiposDeAsignacion();
	}

	public List<UsuarioAsesor> listarUsuarios(UsuarioAsesor usuarioDatos) throws Exception{
		return parametrosDAOIface.listarUsuarios(usuarioDatos);
	}
}
